package apache

import (
	"github.com/apache/rocketmq-client-go/v2"
	"testkjcld.bhecard.com/gitlab/kit/esim/rocketmq/internal"
)

type ApacheMQConsumer struct {
	rocketmq.PushConsumer
}

func (c *ApacheMQConsumer) TopicName() string {
	return ""
}

func (c *ApacheMQConsumer) MessageTag() string {
	return ""
}

// ConsumeMessage 消费消息，如果该条消息没有被 {AckMessage} 确认消费成功，即在NextConsumeTime时会再次消费到该条消息.
func (c *ApacheMQConsumer) ConsumeMessage(respChan chan internal.ConsumeMessageResponse, errChan chan error, numOfMessages int32, waitseconds int64) {
}

// ConsumeMessageOrderly 顺序消费消息，获取的消息可能是多个分区但是一个分区内消息一定是顺序的，对于一个分区的消息必须要全部ACK成功才能消费下一批消息
// 否则在NextConsumeTime后会再次消费到相同的消息.
func (c *ApacheMQConsumer) ConsumeMessageOrderly(respChan chan internal.ConsumeMessageResponse, errChan chan error, numOfMessages int32, waitseconds int64) {
}

// AckMessage 确认消息消费成功.
func (c *ApacheMQConsumer) AckMessage(receiptHandles []string) error {
	return nil
}
